Skip to content

Conversation

@danakj
Copy link
Contributor

@danakj danakj commented Nov 21, 2025

We were requiring the facet type to be complete in two different places, but this was not necessary. Now we only require it to be complete in a single place when checking the definition. If it was required earlier for a rewrite constraint, it would have been already checked and diagnosed in member lookup for the rewrite.

In the process reorganize and rename code to help clarify the relationships and behaviour between handle_impl.cpp and impl.cpp.

Move the diagnosing of extend impl T as to the handler of the T, similar to where it's diagnosed for require decls. This helps simplify the code, avoiding a bunch of looking through parse nodes for specific types. Make them both handle errors in the self type in a similar manner, avoiding a second diagnostic.

@danakj danakj requested a review from a team as a code owner November 21, 2025 18:32
@danakj danakj requested review from josh11b and removed request for a team November 21, 2025 18:32
@danakj
Copy link
Contributor Author

danakj commented Nov 21, 2025

This is based on #6385, the first commit is less-completing-impl-as.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant